home *** CD-ROM | disk | FTP | other *** search
- /*
- File: PowerClass.h
-
- Contains: xxx put contents here xxx
-
- Version: xxx put version here xxx
-
- Copyright: © 1999-2000 by Apple Computer, Inc., all rights reserved.
-
- */
-
- #ifndef __POWERCLASS__
- #define __POWERCLASS__
-
- #include <HID.h>
- #include <Power.h>
- //
-
- // Usage pages from HID Power Device spec 1.0
- enum
- {
- kUsage_PowerDevice = 0x84,
- kUsage_BatterySystem = 0x85,
- kUsage_PowerDeviceReserved86 = 0x86,
- kUsage_PowerDeviceReserved87 = 0x87
-
- };
-
- // Usage constants for Power Device page (0x84)
- enum
- {
- kUsage_84_iName = 0x01,
- kUsage_84_PresentStatus = 0x02,
- kUsage_84_ChangedStatus = 0x03,
- kUsage_84_UPS = 0x04,
- kUsage_84_PowerSupply = 0x05,
-
- kUsage_84_BatterySystem = 0x10,
- kUsage_84_BatterySystemID = 0x11,
- kUsage_84_Battery = 0x12,
- kUsage_84_BatteryID = 0x13,
- kUsage_84_Charger = 0x14,
- kUsage_84_ChargerID = 0x15,
- kUsage_84_PowerConverter = 0x16,
- kUsage_84_PowerConverterID = 0x17,
- kUsage_84_OutletSystem = 0x18,
- kUsage_84_OutletSystemID = 0x19,
- kUsage_84_Input = 0x1A,
- kUsage_84_InputID = 0x1B,
- kUsage_84_Output = 0x1C,
- kUsage_84_OutputID = 0x1D,
- kUsage_84_Flow = 0x1E,
- kUsage_84_FlowID = 0x1F,
-
- kUsage_84_Outlet = 0x20,
- kUsage_84_OutletID = 0x21,
- kUsage_84_Gang = 0x22,
- kUsage_84_GangID = 0x23,
- kUsage_84_PowerSummary = 0x24,
- kUsage_84_PowerSummaryID = 0x25,
-
- kUsage_84_Voltage = 0x30,
- kUsage_84_Current = 0x31,
- kUsage_84_Frequency = 0x32,
- kUsage_84_ApparentPower = 0x33,
- kUsage_84_ActivePower = 0x34,
- kUsage_84_PercentLoad = 0x35,
- kUsage_84_Temperature = 0x36,
- kUsage_84_Humidity = 0x37,
- kUsage_84_BadCount = 0x38,
-
- kUsage_84_ConfigVoltage = 0x40,
- kUsage_84_ConfigCurrent = 0x41,
- kUsage_84_ConfigFrequency = 0x42,
- kUsage_84_ConfigApparentPower = 0x43,
- kUsage_84_ConfigActivePower = 0x44,
- kUsage_84_ConfigPercentLoad = 0x45,
- kUsage_84_ConfigTemperature = 0x46,
- kUsage_84_ConfigHumidity = 0x47,
-
- kUsage_84_SwitchOnControl = 0x50,
- kUsage_84_SwitchOffControl = 0x51,
- kUsage_84_ToggleControl = 0x52,
- kUsage_84_LowVoltageTransfer = 0x53,
- kUsage_84_HighVoltageTransfer = 0x54,
- kUsage_84_DelayBeforeReboot = 0x55,
- kUsage_84_DelayBeforeStartup = 0x56,
- kUsage_84_DelayBeforeShutdown = 0x57,
- kUsage_84_Test = 0x58,
- kUsage_84_ModuleReset = 0x59,
- kUsage_84_AudibleAlarmControl = 0x5A,
-
- kUsage_84_Present = 0x60,
- kUsage_84_Good = 0x61,
- kUsage_84_InternalFailure = 0x62,
- kUsage_84_VoltageOutOfRange = 0x63,
- kUsage_84_FrequencyOutOfRange = 0x64,
- kUsage_84_Overload = 0x65,
- kUsage_84_OverCharged = 0x66,
- kUsage_84_OverTemperature = 0x67,
- kUsage_84_ShutdownRequested = 0x68,
- kUsage_84_ShutdownImminent = 0x69,
- // kUsage_84_ = 0x6A, Reserved
- kUsage_84_SwitchOnOff = 0x6B,
- kUsage_84_Switchable = 0x6C,
- kUsage_84_Used = 0x6D,
- kUsage_84_Boost = 0x6E,
- kUsage_84_Buck = 0x6F,
-
- kUsage_84_Initialized = 0x70,
- kUsage_84_Tested = 0x71,
- kUsage_84_AwaitingPower = 0x72,
- kUsage_84_CommunicationLost = 0x73,
-
- kUsage_84_iManufacturer = 0xFD,
- kUsage_84_iProduct = 0xFE,
- kUsage_84_iSerialNumber = 0xFF
- };
-
- // Usage constants for Battery System page (0x85)
- enum
- {
- kUsage_85_SMBBatteryMode = 0x01,
- kUsage_85_SMBBatteryStatus = 0x02,
- kUsage_85_SMBAlarmWarning = 0x03,
- kUsage_85_SMBChargerMode = 0x04,
- kUsage_85_SMBChargerStatus = 0x05,
- kUsage_85_SMBChargerSpecInfo = 0x06,
- kUsage_85_SMBSelectorState = 0x07,
- kUsage_85_SMBSelectorPresets = 0x08,
- kUsage_85_SMBSelectorInfo = 0x09,
-
- kUsage_85_OptionalMfgFunction1 = 0x10,
- kUsage_85_OptionalMfgFunction2 = 0x11,
- kUsage_85_OptionalMfgFunction3 = 0x12,
- kUsage_85_OptionalMfgFunction4 = 0x13,
- kUsage_85_OptionalMfgFunction5 = 0x14,
- kUsage_85_ConnectionToSMBus = 0x15,
- kUsage_85_OutputConnection = 0x16,
- kUsage_85_ChargerConnection = 0x17,
- kUsage_85_BatteryInsertion = 0x18,
- kUsage_85_Usenext = 0x19,
- kUsage_85_OKToUse = 0x1A,
- kUsage_85_BatterySupported = 0x1B,
- kUsage_85_SelectorRevision = 0x1C,
- kUsage_85_ChargingIndicator = 0x1D,
-
- kUsage_85_ManufacturerAccess = 0x28,
- kUsage_85_RemainingCapacityLimit = 0x29,
- kUsage_85_RemainingTimeLimit = 0x2A,
- kUsage_85_AtRate = 0x2B,
- kUsage_85_CapacityMode = 0x2C,
- kUsage_85_BroadcastToCharger = 0x2D,
- kUsage_85_PrimaryBattery = 0x2E,
- kUsage_85_ChargeController = 0x2F,
-
- kUsage_85_TerminateCharge = 0x40,
- kUsage_85_TerminateDischarge = 0x41,
- kUsage_85_BelowRemainingCapacityLimit = 0x42,
- kUsage_85_RemainingTimeLimitExpired = 0x43,
- kUsage_85_Charging = 0x44,
- kUsage_85_Discharging = 0x45,
- kUsage_85_FullyCharged = 0x46,
- kUsage_85_FullyDischarged = 0x47,
- kUsage_85_ConditioningFlag = 0x48,
- kUsage_85_AtRateOK = 0x49,
- kUsage_85_SMBErrorCode = 0x4A,
- kUsage_85_NeedReplacement = 0x4B,
- kUsage_85_AtRateTimeToFull = 0x60,
- kUsage_85_AtRateTimeToEmpty = 0x61,
- kUsage_85_AverageCurrent = 0x62,
- kUsage_85_Maxerror = 0x63,
- kUsage_85_RelativeStateOfCharge = 0x64,
-
-
- kUsage_85_AbsoluteStateOfCharge = 0x65,
- kUsage_85_RemainingCapacity = 0x66,
- kUsage_85_FullChargeCapacity = 0x67,
- kUsage_85_RunTimeToEmpty = 0x68,
- kUsage_85_AverageTimeToEmpty = 0x69,
- kUsage_85_AverageTimeToFull = 0x6A,
- kUsage_85_CycleCount = 0x6B,
-
- kUsage_85_BattPackModelLevel = 0x80,
- kUsage_85_InternalChargeController = 0x81,
- kUsage_85_PrimaryBatterySupport = 0x82,
- kUsage_85_DesignCapacity = 0x83,
- kUsage_85_SpecificationInfo = 0x84,
- kUsage_85_ManufacturerDate = 0x85,
- kUsage_85_SerialNumber = 0x86,
- kUsage_85_iManufacturerName = 0x87,
- kUsage_85_iDevicename = 0x88,
- kUsage_85_iDeviceChemistry = 0x89,
- kUsage_85_ManufacturerData = 0x8A,
- kUsage_85_Rechargable = 0x8B,
- kUsage_85_WarningCapacityLimit = 0x8C,
- kUsage_85_CapacityGranularity1 = 0x8D,
- kUsage_85_CapacityGranularity2 = 0x8E,
- kUsage_85_iOEMInformation = 0x8F,
-
- kUsage_85_InhibitCharge = 0xC0,
- kUsage_85_EnablePolling = 0xC1,
- kUsage_85_ResetToZero = 0xC2,
-
- kUsage_85_ACPresent = 0xD0,
- kUsage_85_BatteryPresent = 0xD1,
- kUsage_85_PowerFail = 0xD2,
- kUsage_85_AlarmInhibited = 0xD3,
- kUsage_85_ThermistorUnderRange = 0xD4,
- kUsage_85_ThermistorHot = 0xD5,
- kUsage_85_ThermistorCold = 0xD6,
- kUsage_85_ThermistorOverRange = 0xD7,
- kUsage_85_VoltageOutOfRange = 0xD8,
- kUsage_85_CurrentOutOfRange = 0xD9,
- kUsage_85_CurrentNotRegulated = 0xDA,
- kUsage_85_VoltageNotRegulated = 0xDB,
- kUsage_85_MasterMode = 0xDC,
-
- kUsage_85_ChargerSelectorSupport = 0xF0,
- kUsage_85_ChargerSpec = 0xF1,
- kUsage_85_Level2 = 0xF2,
- kUsage_85_Level3 = 0xF3
- };
-
- struct PowerDeviceDescriptor {
- UInt16 descVersion;
- UInt16 vendor;
- UInt16 product;
- UInt16 version;
- UInt32 reference;
- };
- typedef struct PowerDeviceDescriptor PowerDeviceDescriptor, *PowerDeviceDescriptorPtr;
-
-
-
- // Prototypes for Exported Functions
- OSStatus GetNextPowerDevice (PowerDeviceDescriptor *device);
- OSStatus USBPowerGetUsageData (USBReference reference, UInt32 inCollection, HIDUsage inUsagePage, HIDUsage inUsage, SInt32 *value);
- OSStatus USBPowerSetUsageData (USBReference reference, UInt32 inCollection, HIDUsage inUsagePage, HIDUsage inUsage, SInt32 value);
- OSStatus USBPowerGetCapacityLimits (USBReference inReference, UInt32 *warningLevel, UInt32 *shutdownLevel);
- OSStatus USBPowerSetCapacityLimits (USBReference inReference, UInt32 inWarningLevel, UInt32 inShutdownLevel);
- OSStatus USBPowerFindCollection (USBReference inReference, HIDCollectionNode *collectionNode, UInt32 *index);
-
- #endif